package cn.cqie.frame.service;

import cn.cqie.frame.bo.query.QueryEmpEvaluateRecordReqBo;
import cn.cqie.frame.bo.query.QueryStudentEvaluateRecordBo;
import cn.cqie.frame.entity.Emp;
import cn.cqie.frame.entity.EvaluateRecord;
import cn.cqie.frame.entity.EvaluateTask;
import cn.cqie.frame.vo.EmpEvaluateRecordVo;
import cn.cqie.frame.vo.EvaluateTargetTreeData;
import cn.cqie.frame.vo.StudentEvaluateRecordVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 评教记录 服务类
 * </p>
 *
 * @author XYHL
 * @since 2021-10-18
 */
public interface EvaluateRecordService extends IService<EvaluateRecord> {
    /**
     * 学生评价列表
     * @param bo
     * @return
     */
    List<StudentEvaluateRecordVo> listPagedStudentEvaluate(QueryStudentEvaluateRecordBo bo);

    /**
     * 获取评价任务备选项
     * @return
     */
    List<EvaluateTask> listAllEvaluateTask();

    /**
     * 评价指标树
     * @param evaluateTypeId
     * @return
     */
    List<EvaluateTargetTreeData> listTreeEvaluateTarget(Long evaluateTypeId);

    /**
     * 保存评价记录
     * @param pos
     * @return
     */
    Boolean saveRecord(List<EvaluateRecord> pos);

    /**
     * 确定登录员工
     * @param sysUserId
     * @return
     *//*
    Emp getLoginEmp(Integer sysUserId);

    *//**
     * 确定登录用户担任角色
     * @param sysUserId
     * @return
     *//*
    List<Integer> getLoginRoleIdList(Integer sysUserId);*/

    /**
     * 员工评教
     * @param qo
     * @return
     */
    List<EmpEvaluateRecordVo> listPagedEmpEvaluate(QueryEmpEvaluateRecordReqBo qo);

    /**
     * 计算分值
     * @param taskId
     */
    void calculateScore(Long taskId);
}
